In U.S. Pat. No. 5,587,998, a method and apparatus for reducing residual far-end echo in a voice communication network is described which introduces the concepts of implementing far-end echo control in a local network to improve the local talker's communication experience. The method involves measuring the delay between an originated voice signal and its reflected occurrence in order to predictably identify an echo, smoothing the prediction over time, and attenuating or canceling an echo that falls within defined range. FIGS. 1 and 2 of the '998 patent, also reproduced here as FIGS. 1 and 2, describe the voice communication network environment in which the present invention may be employed to advantage. FIGS. 3-6 provide an overview of an algorithm for reducing/canceling echo once detected. FIGS. 3-5 of the '998 patent are reproduced in this patent application. In the '998 patent, at column 8, line 43 through column 11, line 19, there is described an algorithm for detecting, tracking and smoothing an echo estimate over time in accordance with FIG. 6 of the '998 patent.
Echo, if it occurs sufficiently close to a local talker, is heard as a rain barrel effect. In very long distance communications over land lines, or in satellite communications when distances (and absolute path delays) are sufficiently great, the local talker hears the echo as a repeat of the originated speech, delayed by the path delay from the local talker to a reflection point (for example, the location of a hybrid or other impedance mismatch) and return. In a real-time voice communication network, the echo cannot be identified and handled off-line but must be identified and clipped immediately in real time. Consequently, it is necessary to implement an echo cancellation algorithm in such a manner that it can act on echo as soon as it is identified. Consequently, software designers must make choices in allocating tasks between those that must be performed in real time and those that can be performed at other times.
Once the tracking and clipping decisions are implemented, there can remain a discomforting dead period in the voice communication heard by the local talker. In other words, there can be a period of absolute silence to a local talker that signals that voice signal processing has occurred. Consequently, it is an object of the present invention to not only implement a tracker and clipper in real time but implement a noise fill algorithm which fills the dead period with noise similar to that already experienced by the local talker on the voice communications channel.
Furthermore, known echo cancellation methods and apparatus operate in such a manner as to create spikes of high noise energy that can be heard by a near end talker as "crackle," a noise characterized by a sound not unlike the crackling of a fire. It is our further objective to provide a tracking and clipping algorithm for echo removal that also accounts for such crackle and removes the crackle and a noise fill algorithm that preferably fills gaps of removed crackle with unobjectionable noise fill.
Thus, there remains in the art a need to implement an echo detecting, tracking, clipping and noise fill algorithm in real time which provides the local talker with a relatively quiet, echo-free voice communication channel between the far end talker and the local talker. If such a process is implemented at both ends of the communications channel, both talkers will experience an echo-free speech communication.